Popular Searches
Popular Course Categories
Popular Courses

Component Instances

Component Instances

Components & Variants

Component Instances in Figma

Component Instances are reusable copies of a main component in Figma. They allow designers to use the same UI element multiple times while maintaining a connection with the original main component. Instead of creating the same button, card, input, navigation item, icon, or modal repeatedly, a designer can create one main component and insert instances wherever required.

A component instance can be customized for a particular screen while still benefiting from the structure and updates of its main component. This makes component instances an essential part of scalable UI design, design systems, collaborative workflows, and professional Figma projects.

For professional Figma learning and practical design-system training, visit JustAcademy Figma Training and Register for Figma Course Demo.


1. What is a Component Instance?

A Component Instance is a reusable copy of a main component. The instance remains connected to the main component and can be inserted into one or more screens. The main component acts as the source of the reusable design.

Main Component

      ↓

Component Instance

      ↓

Screen 1

      ↓

Screen 2

      ↓

Screen 3

2. Simple Definition

A component instance is a connected, reusable copy of a main component that can be customized for a specific use while maintaining its relationship with the original component.

3. Main Component and Instance Relationship

Main Component

      ↓

┌───────────────┐

│ Button        │

│ Icon + Label  │

└───────────────┘

      ↓

 ┌──────┬──────┬──────┐

 ↓      ↓      ↓

Instance Instance Instance

   1       2       3

4. Why Use Component Instances?

  • To reuse the same UI element.
  • To maintain visual consistency.
  • To reduce repetitive design work.
  • To make design updates easier.
  • To build scalable design systems.
  • To provide controlled customization.
  • To improve collaboration between designers.
  • To reduce accidental inconsistencies.
  • To simplify large application designs.

5. Real-World Example

Suppose a website has 50 buttons. Designing each button separately would make future changes difficult. Instead, a designer creates one Button main component and inserts instances of that component throughout the website.

Button Main Component

        ↓

Login Instance

Register Instance

Submit Instance

Continue Instance

Buy Now Instance

The button structure remains consistent while the content can differ according to the context.

6. Main Component vs Component Instance

FeatureMain ComponentComponent Instance
PurposeSource of the reusable designReusable copy of the source
StructureDefines the component structureUses the defined structure
EditingCan be structurally editedSupports controlled customization
UpdatesDefines component updatesCan receive applicable updates
ReuseActs as the sourceUsed repeatedly in screens

7. Component Instance Workflow

Create Main Component

        ↓

Component Available in Assets

        ↓

Insert Instance

        ↓

Place Instance on Canvas

        ↓

Customize Supported Properties

        ↓

Reuse Across Screens

        ↓

Update Main Component

        ↓

Instances Receive Applicable Changes


8. Creating a Main Component Before Using Instances

Before creating an instance, there must be a main component. A main component can be created from a collection of objects or layers such as buttons, fields, cards, menus, icons, and other UI elements.

Example

Button

├── Icon

└── Label

Select the required layers and create a component. Figma places the selected layers inside a special component frame.

9. Creating a Component Instance from Assets

Once the main component exists, the easiest way to reuse it is through the Assets panel.

  1. Open the Figma file.
  2. Open the Assets tab.
  3. Search for the required component.
  4. Select the component.
  5. Drag it onto the canvas.
  6. Figma places an instance of the component on the canvas.

10. Assets Panel

The Assets panel provides access to reusable components available in the current file and enabled libraries. It helps designers quickly find and insert reusable components.

11. Assets Shortcut

Operating SystemShortcut
macOSOption + 2
WindowsAlt + 2

12. Insert Instance Using Assets

Assets

  ↓

Search Component

  ↓

Select Component

  ↓

Drag to Canvas

  ↓

Component Instance Created

13. Using Quick Insert

Figma also provides Quick Insert for quickly finding and inserting components. This is useful when a file contains a large number of reusable assets.

Use Shift + I to open the Quick Insert interface and search for the required component.

Shift + I

    ↓

Search

    ↓

Select Component

    ↓

Insert Instance

14. Duplicating a Component Instance

An existing instance can be duplicated to create another instance. This is useful when multiple instances of the same component are required on a screen.

Existing Instance

      ↓

Duplicate

      ↓

New Instance

15. Copying and Pasting Instances

Component instances can also be copied and pasted. This provides a quick way to reuse an existing instance in another location or, depending on the file and library workflow, another design file.

16. Identifying a Component Instance

Figma uses component indicators to help distinguish main components and instances. A main component uses the purple component indicator, while an instance uses an outlined component indicator.

17. Main Component Indicator

The main component can be identified by the purple component icon in the Layers panel.

18. Instance Indicator

A component instance uses an outlined component indicator in the Layers panel. This helps designers understand that the selected element is connected to another main component.

Main Component

Purple Component Indicator

        ↓

Source

 

Instance

Outlined Component Indicator

        ↓

Connected Copy


19. Component Instance Connection

The connection between the main component and instance is one of the most important features of component-based design. The instance uses the main component as its source and can receive applicable changes from it.

20. Centralized Update System

Main Component

      ↓

Update Component

      ↓

Connected Instances

      ↓

Consistent UI Across Screens

21. Example of a Global Button Update

Before:

Button Radius = 6px

 

Main Component

      ↓

Instance 1

Instance 2

Instance 3

 

Update Main Component:

Radius = 10px

 

Result:

Instance 1 → Updated

Instance 2 → Updated

Instance 3 → Updated

22. Benefits of Centralized Updates

  • Faster design maintenance.
  • Consistent visual appearance.
  • Reduced repetitive work.
  • Fewer design inconsistencies.
  • Easier design-system management.


23. Customizing Component Instances

Instances are designed to be reusable but they are not limited to being identical in every context. Figma provides supported overrides and component properties that allow designers to customize intended parts of an instance.

24. Text Customization

One of the most common instance customizations is changing text.

Main Component:

Button/Primary

Label = Button

 

Instance 1:

Label = Login

 

Instance 2:

Label = Register

 

Instance 3:

Label = Continue

25. What are Instance Overrides?

Overrides are changes made to an individual instance while keeping its relationship with the main component. They allow the same component to be used in different contexts without creating separate components for every small variation.

26. Common Instance Customizations

  • Text content.
  • Supported fills.
  • Supported strokes.
  • Visibility of supported layers.
  • Component properties.
  • Variant selections.
  • Nested component swaps.
  • Supported sizing and layout changes.

27. Example of Multiple Button Instances

Main Component:

Button/Primary

 

Instances:

1. Login

2. Register

3. Continue

4. Submit

5. Save Changes

All instances can follow the same design structure while serving different purposes.

28. Instance Customization vs Detaching

CustomizationDetaching
Maintains component relationshipBreaks component relationship
Useful for contextual changesCreates an independent object
Can receive applicable component updatesNo longer behaves as a connected instance
Preferred for reusable systemsUsed when independence is intentional


29. Component Properties in Instances

Component properties provide controlled customization options for instances. Instead of allowing unrestricted editing, designers can define exactly which aspects of a component should be customizable.

30. Types of Component Properties

Property TypePurposeExample
BooleanShow or hide supported layersShow Icon
TextChange text contentButton Label
Instance SwapReplace a nested componentChange Icon
VariantSelect predefined variationsSize or State
SlotProvide flexible content areaCard Content

31. Boolean Property

A Boolean property provides a true or false control for supported layer visibility.

Show Icon = True

        ↓

Icon Visible

 

Show Icon = False

        ↓

Icon Hidden

32. Text Property

A Text property allows designated text to be changed from the component controls.

Button Label:

"Submit"

 

Change to:

"Continue"

 

Change to:

"Save Changes"

33. Instance Swap Property

An Instance Swap property allows a nested component instance to be replaced by another component.

Leading Icon

     ↓

Search

Home

Profile

Settings

34. Variant Property

Variant properties allow an instance to select from predefined variations of a component.

Button

├── Primary

├── Secondary

├── Danger

└── Ghost

35. Slot Property

A Slot creates a flexible content area within a component. It can allow designers to add, edit, rearrange, or remove content in an instance while keeping the instance connected to the main component.

Example

Card

├── Header

├── Slot: Content

└── Footer


36. Component Instances with Auto Layout

Auto Layout is especially useful when component instances need to adapt to changing content. Buttons, tags, badges, navigation items, list items, cards, and input fields frequently benefit from Auto Layout.

37. Button Instance with Auto Layout

Button/Primary

└── Auto Layout

    ├── Icon

    └── Label

 

Padding: 12 / 20

Gap: 8

Width: Hug Contents

Height: Hug Contents

38. Hug Contents in Instances

Hug Contents allows a component or component instance to adjust its dimensions according to its content. It is useful for text-driven elements such as buttons and badges.

39. Fill Container in Instances

Fill Container allows an instance to occupy available space inside its parent. It is useful for inputs, cards, content areas, and responsive layouts.

40. Fixed Dimensions in Instances

Fixed dimensions are useful when a component needs predictable width or height. Examples include avatars, icon containers, and certain standardized UI controls.

41. Responsive Instance Example

Button Instance

 

"OK"

     ↓

Small Width

 

"Continue"

     ↓

Medium Width

 

"Save Changes and Continue"

     ↓

Larger Width

When the main component uses appropriate Auto Layout and sizing rules, its instances can handle different content more effectively.


42. Nested Component Instances

A component can contain other component instances. This is called component nesting and is an important technique for building modular design systems.

Product Card

├── Badge Instance

├── Image

├── Rating Instance

├── Price

└── Button Instance

43. Benefits of Nested Instances

  • Better reuse.
  • Modular design.
  • Easier maintenance.
  • Consistent UI.
  • Independent updates of smaller components.
  • Easy component swapping.

44. Component Composition

Component composition means creating complex UI components by combining smaller reusable components.

Icon

  +

Input

  +

Button

  ↓

Form Component

  ↓

Form Section

  ↓

Complete Screen

45. Example of Nested Card

Card/Product

├── Image

├── Badge Instance

├── Content

│   ├── Title

│   ├── Description

│   └── Price

└── Button Instance


46. Component Instances and Variants

Variants are useful when a component has multiple predefined versions. An instance can select the appropriate variant rather than requiring a completely separate component.

47. Button Variant Example

Button

├── Type = Primary

├── Type = Secondary

├── Type = Danger

└── Type = Ghost

 

Size:

Small

Medium

Large

 

State:

Default

Hover

Pressed

Disabled

48. Common Variant Properties

  • Type.
  • Size.
  • State.
  • Theme.
  • Style.
  • Density.
  • Selected state.

49. Variant vs Separate Component

Separate ComponentsVariants
Each variation is independentRelated variations are grouped
Can become difficult to manageProvides organized variations
Useful for unrelated UI elementsUseful for related component states or types


50. Swapping Component Instances

Component instances can use Instance Swap properties to replace nested components with other compatible components. This is especially useful for icons, avatars, logos, and other nested UI elements.

51. Icon Swap Example

Button Instance

├── Icon = Search

 

Swap:

Search → Download

 

Swap:

Download → Arrow Right

52. Benefits of Instance Swapping

  • Quick customization.
  • Consistent structure.
  • Easy reuse of approved components.
  • Less manual editing.
  • Better design-system control.

53. Preferred Instances

Preferred instances can be used to provide a curated set of suitable component choices for a nested instance. This can make component selection easier and reduce the chance of using unrelated assets.


54. Finding the Main Component

When an instance is selected, designers may need to locate the main component to understand its source or make a structural change. Figma provides Go to main component functionality.

55. Go to Main Component

Right-click the instance and choose Go to main component where available. This takes the designer to the source component.

56. Go to Main Component Shortcut

Operating SystemShortcut
macOSControl + Option + Command + K
WindowsControl + Alt + Shift + K

57. Editing the Main Component from an Instance

Select Instance

      ↓

Go to Main Component

      ↓

Edit Source Component

      ↓

Save Changes

      ↓

Connected Instances Receive Applicable Updates


58. Resetting Instance Customizations

If an instance has customizations that are no longer required, the instance can be reset using the available reset controls. This is useful for removing unwanted or accidental changes.

59. Why Reset an Instance?

  • Remove accidental overrides.
  • Return to intended component values.
  • Restore consistency.
  • Undo temporary customization.

60. Detaching an Instance

Detaching an instance breaks its relationship with the main component and turns it into an independent design object. Once detached, it no longer behaves as a connected component instance.

61. When Should You Avoid Detaching?

  • When the element belongs to a design system.
  • When future updates are expected.
  • When only text needs to change.
  • When component properties can solve the requirement.
  • When variants can solve the requirement.
  • When an Instance Swap can solve the requirement.
  • When a Slot can provide the required flexibility.

62. When Can Detaching Be Useful?

Detaching can be appropriate when the design intentionally needs to become independent and should no longer follow the source component. It should not be used as the default method for normal instance customization.


63. Component Instances and Libraries

Figma libraries allow reusable components to be shared across files and teams. Designers can insert instances of published components into their working files.

64. Library Instance Workflow

Library

   ↓

Main Component

   ↓

Publish

   ↓

Team File

   ↓

Insert Instance

   ↓

Use in Product Screens

   ↓

Library Update

   ↓

Review / Apply Update

65. Local Component vs Library Component

Local ComponentLibrary Component
Exists in the current fileShared through a library
Useful for project-specific systemsUseful for team-wide systems
Managed locallyManaged through publishing and library workflows
Good for prototypes and individual projectsGood for scalable design systems

66. Library Updates

When a published library component changes, files using instances of that component can receive information about the available update. Designers can review and apply library changes according to the project's workflow.

67. Why Libraries Matter

  • Centralize reusable components.
  • Improve team consistency.
  • Reduce duplicate work.
  • Support scalable design systems.
  • Allow shared component maintenance.


68. Component Instance Documentation

Reusable components should be documented so designers understand their purpose, available options, and intended usage.

69. Example Component Documentation

Component:

Button/Primary

 

Purpose:

Used for the primary action.

 

Available Properties:

Label

Show Icon

Icon

Size

State

 

Recommended Usage:

Use for the main action of a section or screen.

70. Component Instance Naming

Instances inherit the identity of their source component, but clear layer naming and component organization make them easier to understand in the Layers panel.

71. Recommended Component Naming

Button/Primary

Button/Secondary

Button/Icon

Input/Text

Input/Search

Card/Product

Card/Profile

Navigation/Item

Badge/Success

Modal/Confirmation


72. Practical Project: Login Screen

Create a login page using reusable component instances instead of designing every element separately.

Login Screen

├── Logo Instance

├── Input/Email Instance

├── Input/Password Instance

├── Checkbox Instance

├── Button/Primary Instance

└── Link Instance

73. Practical Project: Registration Screen

Registration Screen

├── Input/Name Instance

├── Input/Email Instance

├── Input/Phone Instance

├── Input/Password Instance

├── Input/Confirm Password Instance

└── Button/Primary Instance

74. Practical Project: E-Commerce Product Grid

Product Grid

├── Card/Product Instance

├── Card/Product Instance

├── Card/Product Instance

├── Card/Product Instance

└── Card/Product Instance

Each instance can contain different product images, names, prices, ratings, and badges while maintaining the same card structure.

75. Practical Project: Dashboard

Dashboard

├── Header Instance

├── Sidebar Instance

├── Stat Card Instance

├── Stat Card Instance

├── Chart Card Instance

├── Table Instance

└── Pagination Instance

76. Practical Project: Navigation System

Navigation

├── Home Instance

├── Products Instance

├── Orders Instance

├── Customers Instance

├── Reports Instance

└── Settings Instance

77. Practical Project: Confirmation Modals

Modal/Confirmation

        ↓

Delete Account

Delete Product

Logout

Cancel Subscription


78. Common Mistake: Designing Every Instance Separately

One of the biggest mistakes is manually recreating the same UI element. If the element is repeated and follows the same design pattern, consider converting it into a reusable component.

79. Common Mistake: Detaching Too Quickly

Do not detach an instance simply because its label, icon, or supported property needs to change. First check whether an override, component property, variant, instance swap, or slot can solve the requirement.

80. Common Mistake: Ignoring Auto Layout

An instance may break when content changes if its main component was not configured properly with Auto Layout and resizing behavior.

81. Common Mistake: Poor Naming

Unclear component names make it difficult to locate the correct source and instances. Use consistent names and categories.

82. Common Mistake: Too Many Variants

Do not create unnecessary variants for every possible customization. Use variants for meaningful predefined differences and component properties for controlled customization.

83. Common Mistake: Not Testing Long Text

Always test component instances with long labels and content. This is particularly important for buttons, cards, navigation items, inputs, and localization.

84. Common Mistake: Ignoring Nested Components

Complex components can become difficult to maintain if everything is built as one large object. Use smaller reusable components inside larger components whenever appropriate.


85. Debugging Component Instances

When an instance does not behave as expected, inspect its connection to the main component, overrides, component properties, variants, Auto Layout, resizing behavior, nested components, and parent container.

86. Component Instance Debugging Checklist

  1. Is the selected object actually an instance?
  2. Is it connected to the expected main component?
  3. Is the correct main component being edited?
  4. Are there active overrides?
  5. Are component properties configured correctly?
  6. Is the correct variant selected?
  7. Are nested instances configured correctly?
  8. Is Auto Layout configured correctly?
  9. Are width and height settings appropriate?
  10. Is the instance inside the correct parent?
  11. Is a library update available?

87. Instance Testing Workflow

Create Main Component

      ↓

Insert Instance

      ↓

Change Text

      ↓

Change Supported Properties

      ↓

Swap Nested Components

      ↓

Change Variant

      ↓

Test Long Content

      ↓

Test Different Sizes

      ↓

Update Main Component

      ↓

Verify Instance Behavior

88. Responsive Testing

Test instances at different screen sizes and container widths. Check for overflow, clipping, unexpected wrapping, incorrect spacing, and broken alignment.

89. Localization Testing

Longer translated strings can affect component dimensions. Test buttons, navigation, cards, inputs, and labels with longer text to ensure the instance remains usable.

90. Accessibility Testing

  • Check readable typography.
  • Check color contrast.
  • Check clear labels.
  • Check visible interaction states.
  • Check disabled-state clarity.
  • Check appropriate touch-target dimensions.
  • Do not communicate important information only through color.


91. Best Practices for Component Instances

  • Use instances instead of manually duplicating reusable UI.
  • Keep instances connected whenever possible.
  • Use Auto Layout for flexible components.
  • Use component properties for intended customization.
  • Use variants for predefined variations.
  • Use Instance Swap for nested component replacement.
  • Use Slots for flexible content areas where appropriate.
  • Use nested components to create modular systems.
  • Test instances with different content.
  • Use consistent naming conventions.
  • Document important components.
  • Use libraries for shared design systems.
  • Avoid unnecessary detaching.
  • Review component updates carefully in shared libraries.

92. Component Instance vs Duplicate Design

Duplicate DesignComponent Instance
Independent copyConnected to main component
Manual updates requiredCan receive applicable component updates
May become inconsistentSupports consistency
Difficult to maintain at scaleDesigned for reusable systems

93. Component Instance vs Detached Object

Connected InstanceDetached Object
Connected to main componentIndependent object
Can receive applicable source updatesDoes not receive component updates
Supports controlled customizationAllows independent editing
Best for reusable design systemsBest when independence is intentional

94. Quick Comparison: Instance vs Variant

Component InstanceVariant
A reusable copy of a componentA predefined variation of a component
Used throughout screensUsed to define component types or states
Can be customized through supported propertiesProvides predefined choices
Example: Login Button InstanceExample: Button State = Disabled


95. Interview Questions

Q1. What is a component instance in Figma?

A component instance is a reusable copy of a main component that remains connected to its source component.

Q2. What is the difference between a main component and an instance?

The main component is the source that defines the reusable design, while the instance is a connected copy used in the design.

Q3. How do you insert a component instance?

You can insert it from the Assets panel, component details, Quick Insert, or by duplicating/copying an existing component or instance.

Q4. What is the Assets shortcut?

Option + 2 on macOS and Alt + 2 on Windows.

Q5. What is Quick Insert?

Quick Insert is a fast component and action search interface opened using Shift + I.

Q6. What happens when the main component is updated?

Connected instances can receive applicable changes made to the main component.

Q7. Can component instances be customized?

Yes. Supported overrides and component properties allow instances to be customized without unnecessarily breaking the component relationship.

Q8. What are component properties?

Component properties provide controlled customization options such as Boolean, Text, Instance Swap, Variant, and Slot properties.

Q9. What is an Instance Swap property?

It allows a nested component instance to be replaced with another component.

Q10. What is a Boolean property?

A Boolean property provides a true or false control for supported layer visibility.

Q11. What is a Text property?

A Text property identifies text that can be changed through the component's controls.

Q12. What is a Slot property?

A Slot provides a flexible content area where content can be added or rearranged while keeping the instance connected.

Q13. How can you find the main component?

Select the instance, right-click it, and use Go to main component where available.

Q14. What is an instance override?

An override is an instance-level customization that allows an individual instance to differ from the main component in supported ways.

Q15. Why should unnecessary detaching be avoided?

Detaching breaks the connection with the main component and prevents the object from behaving as a connected instance.

Q16. Why are component instances useful in design systems?

They allow standardized components to be reused consistently across many screens and files.

Q17. Can components contain other component instances?

Yes. Nested component instances are commonly used to build modular and scalable design systems.

Q18. Why is Auto Layout useful with instances?

Auto Layout helps instances adapt to different content and available space.

Q19. What is the difference between an instance and a duplicate frame?

A duplicate frame is independent, while a component instance maintains a relationship with its main component.

Q20. What is the purpose of a component library?

A component library allows reusable components to be shared across files and teams.


96. Practice Exercises

  1. Create a Primary Button main component.
  2. Insert five button instances.
  3. Change the label of each instance.
  4. Create a Boolean property for an optional icon.
  5. Create an Instance Swap property for icons.
  6. Create size variants for the button.
  7. Create input instances for a registration form.
  8. Create product card instances.
  9. Create navigation item instances.
  10. Create a confirmation modal instance.
  11. Test instances with long text.
  12. Test instances at different screen widths.
  13. Reset instance customizations.
  14. Find the main component from an instance.
  15. Create nested components.
  16. Experiment with Slot properties.
  17. Organize components into categories.
  18. Prepare a small component library.

97. Quick Revision

Main Component = Source

Instance = Connected Reusable Copy

Assets = Component Discovery

Quick Insert = Fast Component Search

Override = Instance-Level Customization

Variant = Predefined Variation

Boolean = Show / Hide

Text Property = Change Text

Instance Swap = Replace Nested Component

Slot = Flexible Content Area

Nested Component = Component Inside Component

Library = Shared Components

Detach = Break Component Connection

98. Key Takeaways

  • A component instance is a reusable copy of a main component.
  • Instances remain connected to their main components.
  • Instances can be inserted from Assets.
  • Quick Insert provides a fast way to find components.
  • Instances can be duplicated and copied.
  • Supported overrides allow contextual customization.
  • Component properties provide controlled customization.
  • Variants provide predefined component variations.
  • Nested instances help create modular UI systems.
  • Slots provide flexible content areas.
  • Auto Layout helps instances adapt to content.
  • Libraries support shared components across files and teams.
  • Unnecessary detaching should be avoided.
  • Testing is important before using instances throughout a product.

99. Complete Component Instance Workflow

Design UI Element

      ↓

Create Main Component

      ↓

Name and Organize Component

      ↓

Add Auto Layout

      ↓

Add Variants / Properties

      ↓

Add Documentation

      ↓

Publish to Library if Required

      ↓

Find Component in Assets

      ↓

Insert Instance

      ↓

Customize Instance

      ↓

Use Across Screens

      ↓

Test Responsive Behavior

      ↓

Update Main Component

      ↓

Review Instance Updates

      ↓

Maintain Design System

100. Conclusion

Component Instances are a fundamental part of professional Figma workflows. They allow designers to create one reliable main component and reuse it across multiple screens while maintaining consistency and reducing repetitive work. By combining instances with Auto Layout, variants, component properties, nested components, slots, and libraries, designers can create flexible and scalable design systems.

The ideal workflow is Create → Insert → Customize → Reuse → Test → Update → Maintain. Understanding component instances helps designers work faster, maintain consistency, simplify collaboration, and create production-ready design systems.

For structured Figma learning, practical projects, and advanced component-based design workflows, visit JustAcademy Figma Training and Register for Figma Course Demo.

whatsapp